package clases.incio;

import Presentacion.academico.rptalumnos;
import global.Iconos;
import global.JVista;
import javax.swing.JFrame;
import Presentacion.contabilidad.dlgCambioEjercicio;
import Presentacion.contabilidad.dlgEliminarCuentas;
import Presentacion.contabilidad.frmConsultaAsiento;
import Presentacion.contabilidad.frmConsultaConcepto;
import Presentacion.contabilidad.frmConsultaCuenta;
import Presentacion.contabilidad.frmConsultaEjercicio;
import Presentacion.contabilidad.frmLibroDiario;


public class contabilidad extends javax.swing.JFrame {

    private Iconos ico = new Iconos();
    private Ventana vta;
    private frmConsultaConcepto concepto;
    private frmConsultaEjercicio ejercicio;
    private frmConsultaCuenta cuenta;
    private frmConsultaAsiento asiento;
    private dlgCambioEjercicio cambioejercicio;
    private dlgEliminarCuentas eliminarcuentas;
    private frmLibroDiario diario;
 

    public contabilidad() {
        initComponents();

        setTitle("ADMINISTRADOR - HIGH SCHOOL");
        setIconos();
        vta = new Ventana(contenedor);
        setExtendedState(JFrame.MAXIMIZED_BOTH);

        setDefaultCloseOperation(EXIT_ON_CLOSE);
        JVista v = new JVista("Menu");
        v.agregarNodo("Administrador");
        v.agregarItem("Periodos");
        v.agregarItem("Cursos");
        v.agregarItem("Paralelos");
        v.agregarItem("Periodos");
        v.agregarNodo("Secretaria");
        v.agregarItem("Notas");

        vista.setModel(v.construir());

    }

    private void setIconos() {

        btnnuevo.setIcon(ico.getNuevo());
        btneditar.setIcon(ico.getEditar());
        btneliminar.setIcon(ico.getEliminar());
        btnprimero.setIcon(ico.getPrimero());
        btnsubir.setIcon(ico.getSubir());
        btnbajar.setIcon(ico.getBajar());
        btnultimo.setIcon(ico.getUltimo());
        btnimprimir.setIcon(ico.getImprimir());
        btnexcel.setIcon(ico.getExel());
        btnsalir.setIcon(ico.getSalir());
        // btnsalir.setIcon(ico.get);
    }

    private void activaMenu(String Pestana) {
        if ("Inicio".equals(Pestana)) {
            btnnuevo.setEnabled(false);
            btneditar.setEnabled(false);
            btneliminar.setEnabled(false);
            btnultimo.setEnabled(false);
            btnprimero.setEnabled(false);
            btnsubir.setEnabled(false);
            btnbajar.setEnabled(false);
            btnactualizar.setEnabled(false);
        } else {
            btnnuevo.setEnabled(true);
            btneditar.setEnabled(true);
            btneliminar.setEnabled(true);
            btnultimo.setEnabled(true);
            btnprimero.setEnabled(true);
            btnsubir.setEnabled(true);
            btnbajar.setEnabled(true);
            btnactualizar.setEnabled(true);
        }
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jLabel1 = new javax.swing.JLabel();
        jSplitPane1 = new javax.swing.JSplitPane();
        jScrollPane1 = new javax.swing.JScrollPane();
        vista = new javax.swing.JTree();
        contenedor = new org.edisoncor.gui.tabbedPane.TabbedPaneClose();
        panel1 = new org.edisoncor.gui.panel.Panel();
        panel2 = new org.edisoncor.gui.panel.Panel();
        jLabel2 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jPanel1 = new javax.swing.JPanel();
        btnnuevo = new javax.swing.JButton();
        btneditar = new javax.swing.JButton();
        btneliminar = new javax.swing.JButton();
        jPanel2 = new javax.swing.JPanel();
        btnbajar = new javax.swing.JButton();
        btnultimo = new javax.swing.JButton();
        btnprimero = new javax.swing.JButton();
        btnsubir = new javax.swing.JButton();
        jPanel3 = new javax.swing.JPanel();
        btnimprimir = new javax.swing.JButton();
        btnexcel = new javax.swing.JButton();
        jPanel4 = new javax.swing.JPanel();
        btncerrar = new javax.swing.JButton();
        btnatras = new javax.swing.JButton();
        btnsiguiente = new javax.swing.JButton();
        btnactualizar = new javax.swing.JButton();
        jPanel6 = new javax.swing.JPanel();
        btnsalir = new javax.swing.JButton();
        jButton1 = new javax.swing.JButton();
        jMenuBar1 = new javax.swing.JMenuBar();
        jMenu1 = new javax.swing.JMenu();
        jMenu6 = new javax.swing.JMenu();
        jMenu8 = new javax.swing.JMenu();
        mnasiento = new javax.swing.JMenuItem();
        mnDiario = new javax.swing.JMenuItem();
        jMenu9 = new javax.swing.JMenu();
        mncontable = new javax.swing.JMenuItem();
        mneliminarcuentas = new javax.swing.JMenuItem();
        mnEjercicio = new javax.swing.JMenu();
        mnejercicios = new javax.swing.JMenuItem();
        mncambioejercicio = new javax.swing.JMenuItem();
        mncontabilidad = new javax.swing.JMenu();
        mnconcepto = new javax.swing.JMenuItem();
        jMenu4 = new javax.swing.JMenu();

        jLabel1.setText("jLabel1");

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        javax.swing.tree.DefaultMutableTreeNode treeNode1 = new javax.swing.tree.DefaultMutableTreeNode("root");
        javax.swing.tree.DefaultMutableTreeNode treeNode2 = new javax.swing.tree.DefaultMutableTreeNode("JTree");
        javax.swing.tree.DefaultMutableTreeNode treeNode3 = new javax.swing.tree.DefaultMutableTreeNode("Administrador");
        javax.swing.tree.DefaultMutableTreeNode treeNode4 = new javax.swing.tree.DefaultMutableTreeNode("blue");
        treeNode3.add(treeNode4);
        treeNode4 = new javax.swing.tree.DefaultMutableTreeNode("violet");
        treeNode3.add(treeNode4);
        treeNode4 = new javax.swing.tree.DefaultMutableTreeNode("red");
        treeNode3.add(treeNode4);
        treeNode4 = new javax.swing.tree.DefaultMutableTreeNode("yellow");
        treeNode3.add(treeNode4);
        treeNode2.add(treeNode3);
        treeNode3 = new javax.swing.tree.DefaultMutableTreeNode("Secretaria");
        treeNode4 = new javax.swing.tree.DefaultMutableTreeNode("basketball");
        treeNode3.add(treeNode4);
        treeNode4 = new javax.swing.tree.DefaultMutableTreeNode("soccer");
        treeNode3.add(treeNode4);
        treeNode4 = new javax.swing.tree.DefaultMutableTreeNode("football");
        treeNode3.add(treeNode4);
        treeNode4 = new javax.swing.tree.DefaultMutableTreeNode("hockey");
        treeNode3.add(treeNode4);
        treeNode2.add(treeNode3);
        treeNode3 = new javax.swing.tree.DefaultMutableTreeNode("Colecturia");
        treeNode4 = new javax.swing.tree.DefaultMutableTreeNode("hot dogs");
        treeNode3.add(treeNode4);
        treeNode4 = new javax.swing.tree.DefaultMutableTreeNode("pizza");
        treeNode3.add(treeNode4);
        treeNode4 = new javax.swing.tree.DefaultMutableTreeNode("ravioli");
        treeNode3.add(treeNode4);
        treeNode4 = new javax.swing.tree.DefaultMutableTreeNode("bananas");
        treeNode3.add(treeNode4);
        treeNode2.add(treeNode3);
        treeNode1.add(treeNode2);
        treeNode2 = new javax.swing.tree.DefaultMutableTreeNode("Contabilidad");
        treeNode1.add(treeNode2);
        treeNode2 = new javax.swing.tree.DefaultMutableTreeNode("Talento Humano");
        treeNode1.add(treeNode2);
        vista.setModel(new javax.swing.tree.DefaultTreeModel(treeNode1));
        jScrollPane1.setViewportView(vista);

        jSplitPane1.setLeftComponent(jScrollPane1);

        contenedor.setBackground(new java.awt.Color(255, 255, 255));
        contenedor.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
            public void propertyChange(java.beans.PropertyChangeEvent evt) {
                contenedorPropertyChange(evt);
            }
        });

        panel1.setColorPrimario(new java.awt.Color(255, 255, 255));
        panel1.setColorSecundario(new java.awt.Color(255, 255, 255));
        panel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/iconos/fondo.jpg"))); // NOI18N

        panel2.setColorPrimario(new java.awt.Color(102, 0, 0));

        jLabel2.setFont(new java.awt.Font("Times New Roman", 1, 12)); // NOI18N
        jLabel2.setForeground(new java.awt.Color(255, 255, 255));
        jLabel2.setText("CRUZ DEL NORTE");

        javax.swing.GroupLayout panel2Layout = new javax.swing.GroupLayout(panel2);
        panel2.setLayout(panel2Layout);
        panel2Layout.setHorizontalGroup(
            panel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panel2Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        panel2Layout.setVerticalGroup(
            panel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panel2Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel2)
                .addContainerGap(19, Short.MAX_VALUE))
        );

        jLabel3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/iconos/logosmall.png"))); // NOI18N

        javax.swing.GroupLayout panel1Layout = new javax.swing.GroupLayout(panel1);
        panel1.setLayout(panel1Layout);
        panel1Layout.setHorizontalGroup(
            panel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(panel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panel1Layout.createSequentialGroup()
                .addContainerGap(566, Short.MAX_VALUE)
                .addComponent(jLabel4)
                .addGap(595, 595, 595))
            .addGroup(panel1Layout.createSequentialGroup()
                .addGap(36, 36, 36)
                .addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addContainerGap())
        );
        panel1Layout.setVerticalGroup(
            panel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panel1Layout.createSequentialGroup()
                .addComponent(panel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 180, Short.MAX_VALUE)
                .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 202, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(44, 44, 44)
                .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 146, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );

        contenedor.addTab("Inicio", panel1);

        jSplitPane1.setRightComponent(contenedor);

        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Acciones", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.TOP));

        btnnuevo.setText("Nuevo");
        btnnuevo.setFocusable(false);
        btnnuevo.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btnnuevo.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnnuevo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnnuevoActionPerformed(evt);
            }
        });

        btneditar.setText("Editar");
        btneditar.setFocusable(false);
        btneditar.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btneditar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btneditar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btneditarActionPerformed(evt);
            }
        });

        btneliminar.setText("Eliminar");
        btneliminar.setFocusable(false);
        btneliminar.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btneliminar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btneliminar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btneliminarActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(btnnuevo)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(btneditar)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(btneliminar)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(btneliminar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(btneditar, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(btnnuevo, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
        );

        jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Navegación", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.TOP));

        btnbajar.setText("Siguiente");
        btnbajar.setFocusable(false);
        btnbajar.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btnbajar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnbajar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnbajarActionPerformed(evt);
            }
        });

        btnultimo.setText("Ultimo");
        btnultimo.setFocusable(false);
        btnultimo.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btnultimo.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnultimo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnultimoActionPerformed(evt);
            }
        });

        btnprimero.setText("Primero");
        btnprimero.setFocusable(false);
        btnprimero.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btnprimero.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnprimero.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnprimeroActionPerformed(evt);
            }
        });

        btnsubir.setText("Anterior");
        btnsubir.setFocusable(false);
        btnsubir.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btnsubir.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnsubir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnsubirActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addComponent(btnprimero)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(btnultimo)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(btnbajar)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(btnsubir)
                .addContainerGap())
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(btnsubir)
                    .addComponent(btnprimero)
                    .addComponent(btnultimo)
                    .addComponent(btnbajar)))
        );

        jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Datos", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.TOP));

        btnimprimir.setText("Imprimir");
        btnimprimir.setFocusable(false);
        btnimprimir.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btnimprimir.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnimprimir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnimprimirActionPerformed(evt);
            }
        });

        btnexcel.setText("Exportar");
        btnexcel.setFocusable(false);
        btnexcel.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btnexcel.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnexcel.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnexcelActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(btnimprimir)
                .addGap(18, 18, 18)
                .addComponent(btnexcel)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(btnexcel)
                    .addComponent(btnimprimir))
                .addContainerGap())
        );

        jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder("Ventana"));

        btncerrar.setText("Cerrar");
        btncerrar.setFocusable(false);
        btncerrar.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btncerrar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btncerrar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btncerrarActionPerformed(evt);
            }
        });

        btnatras.setText("Anterior");
        btnatras.setFocusable(false);
        btnatras.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btnatras.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnatras.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnatrasActionPerformed(evt);
            }
        });

        btnsiguiente.setText("Siguiente");
        btnsiguiente.setFocusable(false);
        btnsiguiente.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btnsiguiente.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnsiguiente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnsiguienteActionPerformed(evt);
            }
        });

        btnactualizar.setText("Actualizar");
        btnactualizar.setFocusable(false);
        btnactualizar.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btnactualizar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnactualizar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnactualizarActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
        jPanel4.setLayout(jPanel4Layout);
        jPanel4Layout.setHorizontalGroup(
            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(btnatras)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(btnsiguiente)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(btnactualizar)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(btncerrar))
        );
        jPanel4Layout.setVerticalGroup(
            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel4Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(btncerrar, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(btnsiguiente, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(btnatras, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(btnactualizar, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
        );

        jPanel6.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Sesión", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.TOP));

        btnsalir.setText("Salir");
        btnsalir.setFocusable(false);
        btnsalir.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btnsalir.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnsalir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnsalirActionPerformed(evt);
            }
        });

        jButton1.setText("Cambiar");
        jButton1.setFocusable(false);
        jButton1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jButton1.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);

        javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
        jPanel6.setLayout(jPanel6Layout);
        jPanel6Layout.setHorizontalGroup(
            jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel6Layout.createSequentialGroup()
                .addGap(8, 8, 8)
                .addComponent(jButton1)
                .addGap(18, 18, 18)
                .addComponent(btnsalir)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel6Layout.setVerticalGroup(
            jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel6Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jButton1)
                    .addComponent(btnsalir))
                .addContainerGap())
        );

        jMenu1.setText("Archivo");
        jMenu1.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
        jMenuBar1.add(jMenu1);

        jMenu6.setText("Contabilidad");

        jMenu8.setText("Asiento");

        mnasiento.setText("Asiento");
        mnasiento.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mnasientoActionPerformed(evt);
            }
        });
        jMenu8.add(mnasiento);

        mnDiario.setText("Libro Diario");
        mnDiario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mnDiarioActionPerformed(evt);
            }
        });
        jMenu8.add(mnDiario);

        jMenu6.add(jMenu8);

        jMenu9.setText("Plan Contable");

        mncontable.setText("Plan Contable");
        mncontable.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mncontableActionPerformed(evt);
            }
        });
        jMenu9.add(mncontable);

        mneliminarcuentas.setText("Eliminar Cuentas");
        mneliminarcuentas.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mneliminarcuentasActionPerformed(evt);
            }
        });
        jMenu9.add(mneliminarcuentas);

        jMenu6.add(jMenu9);

        mnEjercicio.setText("Ejercicios");

        mnejercicios.setText("Ejercicios Contables");
        mnejercicios.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mnejerciciosActionPerformed(evt);
            }
        });
        mnEjercicio.add(mnejercicios);

        mncambioejercicio.setText("Cambio de Ejercicio");
        mncambioejercicio.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mncambioejercicioActionPerformed(evt);
            }
        });
        mnEjercicio.add(mncambioejercicio);

        jMenu6.add(mnEjercicio);

        mncontabilidad.setText("Concepto");

        mnconcepto.setText("Concepto");
        mnconcepto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mnconceptoActionPerformed(evt);
            }
        });
        mncontabilidad.add(mnconcepto);

        jMenu6.add(mncontabilidad);

        jMenuBar1.add(jMenu6);

        jMenu4.setText("Reportes");
        jMenu4.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
        jMenuBar1.add(jMenu4);

        setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jSplitPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(jPanel4, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jPanel2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
                    .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jSplitPane1)
                .addContainerGap())
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void btnnuevoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnnuevoActionPerformed
        switch (vta.getPestanaActual()) {
            case "Concepto":
                concepto.mostrarConcepto();
                break;
            case "Ejercicio":
                ejercicio.mostrarEjercicio();
                break;
            case "Plan Contable":
                cuenta.mostrarCuenta();
                break;
            case "Asiento": 
                asiento.mostrarAsiento();
                break;
            case "Libro Diario":
                diario.mostrarAsientoDiario();
                break;
        }
    }//GEN-LAST:event_btnnuevoActionPerformed

    private void btneditarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btneditarActionPerformed
        switch (vta.getPestanaActual()) {
            case "Concepto":
                concepto.llenarDialogo(frmConsultaConcepto.tblconcepto.getSelectedRow());
                break;
            case "Ejercicio":
                ejercicio.llenarDialogo(frmConsultaEjercicio.tblejercicio.getSelectedRow());
                break;
            case "Plan Contable":
                cuenta.llenarDialogo(frmConsultaCuenta.tblcuenta.getSelectedRow());
                break;
            case "Asiento": 
                asiento.llenardialogo(frmConsultaAsiento.tblasiento.getSelectedRow());
                break;
            case "Libro Diario":
                diario.llenardialogo(frmLibroDiario.tbldiario.getSelectedRow());
                break;
        }
    }//GEN-LAST:event_btneditarActionPerformed

    private void btnimprimirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnimprimirActionPerformed
        //global.Mensajes.mostrarMensaje("Atencion","Opcion no disponible para la ventana actual", 2);
        new rptalumnos(null, true).setVisible(true);
    }//GEN-LAST:event_btnimprimirActionPerformed

    private void btnexcelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnexcelActionPerformed
    }//GEN-LAST:event_btnexcelActionPerformed

    private void btnsiguienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnsiguienteActionPerformed
        vta.avanzar(btnsiguiente);
    }//GEN-LAST:event_btnsiguienteActionPerformed

    private void btnatrasActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnatrasActionPerformed
        vta.atras(btnatras);
    }//GEN-LAST:event_btnatrasActionPerformed

    private void btncerrarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btncerrarActionPerformed
        vta.cerrarPestana();
    }//GEN-LAST:event_btncerrarActionPerformed

    private void contenedorPropertyChange(java.beans.PropertyChangeEvent evt) {//GEN-FIRST:event_contenedorPropertyChange
        try {
            vta.pintarpestanaactual();
            activaMenu(vta.getPestanaActual());
        } catch (Exception e) {

        }
    }//GEN-LAST:event_contenedorPropertyChange

    private void btneliminarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btneliminarActionPerformed
        switch (vta.getPestanaActual()) {
            case "Concepto":
                concepto.EliminarConcepto(frmConsultaConcepto.tblconcepto.getSelectedRow());
                break;
            case "Ejercicio":
                ejercicio.EliminarEjercicio(frmConsultaEjercicio.tblejercicio.getSelectedRow());
                break; 
            case "Plan Contable":
                cuenta.EliminarCuenta(frmConsultaCuenta.tblcuenta.getSelectedRow());
                break;
        }
    }//GEN-LAST:event_btneliminarActionPerformed

    private void btnprimeroActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnprimeroActionPerformed
        switch (vta.getPestanaActual()) {
            case "Concepto":
                vta.primerRegistro(frmConsultaConcepto.tblconcepto);
                break;
            case "Ejercicio":
                vta.primerRegistro(frmConsultaEjercicio.tblejercicio);
                break;
            case "Plan Contable":
                vta.primerRegistro(frmConsultaCuenta.tblcuenta);
                break;
            case "Asiento": 
                vta.primerRegistro(frmConsultaAsiento.tblasiento);
                break;
            case "Libro Diario":
                vta.primerRegistro(frmLibroDiario.tbldiario);
                break;
        }
    }//GEN-LAST:event_btnprimeroActionPerformed

    private void btnultimoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnultimoActionPerformed
        switch (vta.getPestanaActual()) {
            case "Concepto":
                vta.ultimoRegistro(frmConsultaConcepto.tblconcepto);
                break;
            case "Ejercicio":
                vta.ultimoRegistro(frmConsultaEjercicio.tblejercicio);
                break;
            case "Plan Contable":
                vta.ultimoRegistro(frmConsultaCuenta.tblcuenta);
                break;
            case "Asiento": 
                vta.ultimoRegistro(frmConsultaAsiento.tblasiento);
                break;
            case "Libro Diario":
                vta.ultimoRegistro(frmLibroDiario.tbldiario);
                break;
        }
    }//GEN-LAST:event_btnultimoActionPerformed

    private void btnbajarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnbajarActionPerformed
        switch (vta.getPestanaActual()) {
            case "Concepto":
                vta.siguienteRegistro(frmConsultaConcepto.tblconcepto);
                break;
            case "Ejercicio":
                vta.siguienteRegistro(frmConsultaEjercicio.tblejercicio);
                break;
            case "Plan Contable":
                vta.siguienteRegistro(frmConsultaCuenta.tblcuenta);
                break;
            case "Asiento": 
                vta.siguienteRegistro(frmConsultaAsiento.tblasiento);
                break;
            case "Libro Diario":
                vta.siguienteRegistro(frmLibroDiario.tbldiario);
                break;
        }
    }//GEN-LAST:event_btnbajarActionPerformed

    private void btnsubirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnsubirActionPerformed
        switch (vta.getPestanaActual()) {
            case "Concepto":
                vta.anteriorRegistro(frmConsultaConcepto.tblconcepto);
                break;
            case "Ejercicio":
                vta.anteriorRegistro(frmConsultaEjercicio.tblejercicio);
                break;
            case "Plan Contable":
                vta.anteriorRegistro(frmConsultaCuenta.tblcuenta);
                break;
            case "Asiento": 
                vta.anteriorRegistro(frmConsultaAsiento.tblasiento);
                break;
            case "Libro Diario":
                vta.anteriorRegistro(frmLibroDiario.tbldiario);
                break;
        }
    }//GEN-LAST:event_btnsubirActionPerformed

    private void btnactualizarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnactualizarActionPerformed
       /* switch (vta.getPestanaActual()) {
            case "Matriculación":
                frmConsultaMatricula.generartabla();
                break;
            case "Periodo Lectivo":
                frmConsultaPeriodo.generartabla();
                break;
            case "Cursos":
                frmConsultaCurso.generartabla();
                break;
            case "Materias":
                frmConsultaMateria.generartabla();
                break;
            case "Asignación Cursos Especiales":
                frmConsultaMatriculaEspeciales.generartabla();
                break;
            case "Asignación Materia":
                frmConsultaMateriaCurso.generartabla();
                break;
            case "Asignación Docente":
                frmConsultaMateriaCursoDocente.generartabla();
                break;
            case "Asignación Cursos":
                frmConsultaPeriodoCurso.generartabla();
                break;
            case "Alumnos":
                frmConsultaAlumno.generartabla();
                break;
            case "Familiares":
                frmConsultaFamiliar.generartabla();
                break;
            case "Datos Académicos":
                frmConsultaAcademico.generartabla();
                break;
            case "Datos Médicos":
                frmConsultaMedico.generartabla();
                break;
            case "Datos de Competencia":
                frmConsultaCompetencia.generartabla();
                break;
        }*/
    }//GEN-LAST:event_btnactualizarActionPerformed

    private void btnsalirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnsalirActionPerformed
        System.exit(0);
    }//GEN-LAST:event_btnsalirActionPerformed

    private void mnasientoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnasientoActionPerformed
        asiento=new frmConsultaAsiento();
        if (frmConsultaAsiento.objAsiento.EjercicioActivo() == true) {
            vta.agregarPestana(asiento, "Asiento");
        } else {
            global.Mensajes.mostrarMensaje("Asiento", "No existe un ejercicio activo actualmente", 2);
        }
    }//GEN-LAST:event_mnasientoActionPerformed

    private void mnDiarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnDiarioActionPerformed
        diario = new frmLibroDiario();
        if (frmLibroDiario.objDiario.EjercicioActivo() == true) {
            vta.agregarPestana(diario, "Libro Diario");
        } else {
            global.Mensajes.mostrarMensaje("Asiento", "No existe un ejercicio activo actualmente", 2);
        }
    }//GEN-LAST:event_mnDiarioActionPerformed

    private void mncontableActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mncontableActionPerformed
        cuenta=new frmConsultaCuenta();
        vta.agregarPestana(cuenta, "Plan Contable");
    }//GEN-LAST:event_mncontableActionPerformed

    private void mneliminarcuentasActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mneliminarcuentasActionPerformed
        eliminarcuentas = new dlgEliminarCuentas(this, true);
        eliminarcuentas.setVisible(true);
        if (vta.ExistenciaPestana("Plan Contable")) {
            frmConsultaCuenta.generartabla();
        }
    }//GEN-LAST:event_mneliminarcuentasActionPerformed

    private void mnejerciciosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnejerciciosActionPerformed
        ejercicio=new frmConsultaEjercicio();
        vta.agregarPestana(ejercicio, "Ejercicio");
    }//GEN-LAST:event_mnejerciciosActionPerformed

    private void mncambioejercicioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mncambioejercicioActionPerformed
        cambioejercicio = new dlgCambioEjercicio(this, true);
        cambioejercicio.setVisible(true);
    }//GEN-LAST:event_mncambioejercicioActionPerformed

    private void mnconceptoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnconceptoActionPerformed
        concepto=new frmConsultaConcepto();
        vta.agregarPestana(concepto, "Concepto");
    }//GEN-LAST:event_mnconceptoActionPerformed

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(contabilidad.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(contabilidad.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(contabilidad.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(contabilidad.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                new contabilidad().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btnactualizar;
    private javax.swing.JButton btnatras;
    private javax.swing.JButton btnbajar;
    private javax.swing.JButton btncerrar;
    private javax.swing.JButton btneditar;
    private javax.swing.JButton btneliminar;
    private javax.swing.JButton btnexcel;
    private javax.swing.JButton btnimprimir;
    private javax.swing.JButton btnnuevo;
    private javax.swing.JButton btnprimero;
    private javax.swing.JButton btnsalir;
    private javax.swing.JButton btnsiguiente;
    private javax.swing.JButton btnsubir;
    private javax.swing.JButton btnultimo;
    public static org.edisoncor.gui.tabbedPane.TabbedPaneClose contenedor;
    private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenu jMenu4;
    private javax.swing.JMenu jMenu6;
    private javax.swing.JMenu jMenu8;
    private javax.swing.JMenu jMenu9;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JPanel jPanel4;
    private javax.swing.JPanel jPanel6;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JSplitPane jSplitPane1;
    private javax.swing.JMenuItem mnDiario;
    private javax.swing.JMenu mnEjercicio;
    private javax.swing.JMenuItem mnasiento;
    private javax.swing.JMenuItem mncambioejercicio;
    private javax.swing.JMenuItem mnconcepto;
    private javax.swing.JMenu mncontabilidad;
    private javax.swing.JMenuItem mncontable;
    private javax.swing.JMenuItem mnejercicios;
    private javax.swing.JMenuItem mneliminarcuentas;
    private org.edisoncor.gui.panel.Panel panel1;
    private org.edisoncor.gui.panel.Panel panel2;
    private javax.swing.JTree vista;
    // End of variables declaration//GEN-END:variables
}
